yansi 0.3.4

A dead simple ANSI terminal color painting library.
Documentation

yansi

Current Crates.io Version Documentation

A dead simple ANSI terminal color painting library for Rust.

use yansi::Paint;

print!("{} light, {} light!", Paint::green("Green"), Paint::red("red").underline());

See the documentation for more.

Why?

Several terminal coloring libraries already exist for Rust (ansi_term, colored, term_painter, to name a few), begging the question: why yet another? Here are a few reasons for yansi:

  • This library is much simpler: there are two types! The complete implementation is only about 250 lines of code.
  • Like term_painter, but unlike ansi_term, any type implementing Display can be stylized, not only strings.
  • Styling can be enabled and disabled on the fly.
  • Arbitrary items can be masked for selective disabling.
  • Typically, only one type needs to be imported: Paint.
  • Zero dependencies. It really is simple.
  • The name yansi is pretty short.

All that being said, this library borrows the general API of existing libraries as well as plenty of code from ansi_term.

License

yansi is licensed under either of the following, at your option: